/**
 *  Created on  : 22/05/2012
 *  Author      : Ing. Javier Silva Pérez - [javier]
 *  Description :
 *  	
 */
package cinvestav.cryptography.pki.android.cert;

/**
 * Contains all supported field keys, that will be used to fill out the
 * certificate in the PKI
 * 
 * @author Ing. Javier Silva Pérez - [javier]
 * @since 22/05/2012
 * @version 1.0
 */
public class CertificateInformationKeys {
	/**
	 * country code - StringType(SIZE(2))
	 */
	public static final String COUNTRY = "c";

	/**
	 * street - StringType(SIZE(1..64))
	 */
	public static final String STREET = "street";

	/**
	 * locality name - StringType(SIZE(1..64))
	 */
	public static final String LOCALITY = "l";

	/**
	 * state, or province name - StringType(SIZE(1..64))
	 */
	public static final String STATE = "st";

	/**
	 * postalCode - DirectoryString(SIZE(1..40)
	 */
	public static final String POSTAL_CODE = "postalcode";

	/**
	 * Domain Name Qualifier - DirectoryString(SIZE(1..64)
	 */
	public static final String DN_QUALIFIER = "dn";

	/**
	 * organization - StringType(SIZE(1..64))
	 */
	public static final String ORGANIZATION = "o";

	/**
	 * organizational unit name - StringType(SIZE(1..64))
	 */
	public static final String ORGANIZATION_UNITY = "ou";

	/**
	 * Title
	 */
	public static final String TITLE = "t";
	/**
	 * common name - StringType(SIZE(1..64))
	 */
	public static final String FULL_COMMON_NAME = "cn";

	/**
	 * device serial number name - StringType(SIZE(1..64))
	 */
	public static final String DEVICE_SERIAL_NUMBER_NAME = "sn";

	/**
	 * Naming attributes of type X520name
	 */
	public static final String SURNAME = "surname";
	public static final String GIVENNAME = "givenname";
	public static final String INITIALS = "initials";
	public static final String GENERATION = "generation";
	public static final String UNIQUE_IDENTIFIER = "uniqueidentifier";

	/**
	 * businessCategory - DirectoryString(SIZE(1..128)
	 */
	public static final String BUSINESS_CATEGORY = "businesscategory";

	/**
	 * RFC 3039 Pseudonym - DirectoryString(SIZE(1..64)
	 */
	public static final String PSEUDONYM = "pseudonym";

	/**
	 * RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z
	 */
	public static final String DATE_OF_BIRTH = "dateofbirth";

	/**
	 * RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)
	 */
	public static final String PLACE_OF_BIRTH = "placeofbirth";

	/**
	 * RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"
	 */
	public static final String GENDER = "gender";

	/**
	 * RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166
	 * codes only
	 */
	public static final String COUNTRY_OF_CITIZENSHIP = "countryofcitizenship";

	/**
	 * RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166
	 * codes only
	 */
	public static final String COUNTRY_OF_RESIDENCE = "countryofresidence";

	/**
	 * ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)
	 */
	public static final String NAME_AT_BIRTH = "nameofbirth";

	/**
	 * RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF
	 * DirectoryString(SIZE(1..30))
	 */
	public static final String POSTAL_ADDRESS = "postaladdress";

	/**
	 * id-at-telephoneNumber
	 */
	public static final String TELEPHONE_NUMBER = "telephonenumber";

	/**
	 * id-at-name
	 */
	public static final String NAME = "name";

	/**
	 * Email address
	 */
	public static final String EmailAddress = "emailaddress";

	/**
	 * more from PKCS#9
	 */
	public static final String UnstructuredName = "unstructuredaddress";
	public static final String UnstructuredAddress = "unstructuredname";

	/*
	 * others...
	 */
	public static final String DC = "dc";

	/**
	 * LDAP User id.
	 */
	public static final String UID = "uid";
	
	/**
	 * Friendly name for the certificate
	 */
	public static final String FRIENDLY_NAME= "FRIENDLY_NAME";
}
